/*
 *  NotificationsManager.h
 *  Rempart
 *
 *  Created by julien BONACHERA on 01/06/11.
 *  Copyright 2011 __MyCompanyName__. All rights reserved.
 *
 */
#ifndef __NOTIFICATION_MANAGER
#define __NOTIFICATION_MANAGER

#include <SFML/Graphics.hpp>
#include "RessourcesManager.h"
#include "GUI.h"
extern sf::Mutex globalLock;

class NotificationsManager : public sf::Sprite, public sf::Thread {

private:
	static NotificationsManager* instance;
	bool lock;
	bool shading;
	bool visible;
	sf::Image* surface;
	float seconds;
	NotificationsManager();
	void triggerNotification();
	sf::Mutex localLock;
	virtual void Run();
	
public:
	~NotificationsManager();
	bool isVisible();
	static NotificationsManager* getInstance();
	void display(sf::Image* surface, int seconds=3, bool shading=0, bool isThread=1);
	
};

#endif